package router

import (
	"github.com/gin-gonic/gin"
	controller "go-small-shopping/controller"
	"net/http"
)

func Router() *gin.Engine {
	g := gin.Default()
	g.Use(Cros())
	user := g.Group("/user")
	{
		user.POST("/login", controller.Login2)
		user.POST("/getUserInfo", controller.GetUserInfo)
		user.GET("/menu", controller.Menu)
	}
	return g
}

func Cros() gin.HandlerFunc {
	return func(context *gin.Context) {

		method := context.Request.Method

		context.Header("Access-Control-Allow-Origin", "*")
		context.Header("Access-Control-Allow-Headers", "Content-Type,AccessToken,X-CSRF-Token, Authorization, Token, x-token")
		context.Header("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE, PATCH, PUT")
		context.Header("Access-Control-Expose-Headers", "Content-Length, Access-Control-Allow-Origin, Access-Control-Allow-Headers, Content-Type")
		context.Header("Access-Control-Allow-Credentials", "true")

		if method == "OPTIONS" {
			context.AbortWithStatus(http.StatusNoContent)
		}
	}
}
